From b3ff80e45d24a821ca0731983b1546b48570cdf1 Mon Sep 17 00:00:00 2001
From: xby-y <2251528873@qq.com>
Date: 星期四, 09 四月 2026 14:28:51 +0800
Subject: [PATCH] 添加日志信息

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs |  135 +++++++++++++++++++++++++-------------------
 1 files changed, 77 insertions(+), 58 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
index 78ea147..a128aed 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs"
@@ -1,24 +1,18 @@
-锘縰sing Autofac.Core;
-using Microsoft.AspNetCore.Routing;
-using Quartz;
+锘縰sing Quartz;
 using SqlSugar;
+using System.Net;
 using System.Threading.Tasks;
-using WIDESEA_Comm.Http;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.Helper;
-using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.ConveyorLine.Enum;
 using WIDESEAWCS_QuartzJob.DTO;
-using WIDESEAWCS_QuartzJob.Models;
 using WIDESEAWCS_QuartzJob.Repository;
 using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_TaskInfoService;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
 using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
 
@@ -34,9 +28,11 @@
         private readonly IRouterService _routerService;
         private readonly IRepository<Dt_Task> _taskRepository;
         private readonly IRepository<Dt_StationManger> _stationMangerRepository;
-
-
-        public CommonConveyorLineJob(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRepository<Dt_StationManger> stationMangerRepository, IRepository<Dt_Task> taskRepository, IRouterRepository routerRepository, IRouterService routerService)
+        private readonly ITaskHtyService _taskHtyService;
+ 
+ 
+ 
+        public CommonConveyorLineJob(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRepository<Dt_StationManger> stationMangerRepository, IRepository<Dt_Task> taskRepository, IRouterRepository routerRepository, IRouterService routerService, ITaskHtyService taskHtyService)
         {
             _cacheService = cacheService;
             _taskService = taskService;
@@ -45,8 +41,9 @@
             _routerService = routerService;
             _stationMangerRepository = stationMangerRepository;
             _taskRepository = taskRepository;
+            _taskHtyService = taskHtyService;
         }
-
+ 
         public Task Execute(IJobExecutionContext context)
         {
             bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
@@ -60,45 +57,53 @@
                     foreach (var item in stationMangers.Where(x => deviceStations.Contains(x.StationCode))) //寰幆璁惧涓嬬殑绔欏彴
                     {
                         DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //杈撻�佺嚎璇诲彇鐨勫叏閮ㄥ崗璁�
-
+ 
                         DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault(); //杈撻�佺嚎鍐欏叆鐨勫叏閮ㄥ崗璁�
-
+ 
                         if (deviceProRead != null && deviceProWrite != null) //璇诲彇鍐欏叆鐨勫崗璁垽鏂槸鍚︿负null
                         {
                             R_ConveyorLineInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress); //璇诲彇鍗忚
-
+ 
                             W_ConveyorLineInfo conveyorLineInfoWrite = device.Communicator.ReadCustomer<W_ConveyorLineInfo>(deviceProWrite.DeviceProAddress); //鍐欏叆鍗忚
                             if (conveyorLineInfoRead == null || conveyorLineInfoWrite == null)
                             {
                                 continue;
                             }
-
+ 
                             R_ConveyorLineStatus conveyorLineStatus = conveyorLineInfoRead.Status.ByteToBoolObject<R_ConveyorLineStatus>(); //鑾峰彇璁惧鐘舵��
-
+ 
                             ConveyorLineSignal conveyorLineSignalRead = conveyorLineInfoRead.Signal.ByteToBoolObject<ConveyorLineSignal>(); //鑾峰彇璁惧淇″彿
                             bool ACK = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.ACK, item.StationCode); //鑾峰彇ACK纭淇℃伅
-
+ 
                             bool STB = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.STB, item.StationCode); //鑾峰彇STB璇锋眰淇℃伅
-                            //ConveyorLineSignal conveyorLineSignalWrite = conveyorLineInfoWrite.Signal.ByteToBoolObject<ConveyorLineSignal>();
-                            //鍑哄簱绔欏彴
+                                                                                                                        //ConveyorLineSignal conveyorLineSignalWrite = conveyorLineInfoWrite.Signal.ByteToBoolObject<ConveyorLineSignal>();
+                                                                                                                        //鍑哄簱绔欏彴
+                           
                             if (item.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt())  //2007浜や簰鍙h繘鍏�
                             {
+                                //WriteLog.Write_Log("2妤煎嚭搴�2007浜や簰娴佺▼锛屽爢鍨涙満瀹屾垚鍑哄簱浠诲姟瀹屾垚", $"{item.StationType}搴撴祦绋�", $"涓�2007杩涜浜や簰,绔欏彴缂栧彿锛歿item.StationCode}",item.StationType);
                                 // 鍑哄簱
                                 if (conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//2妤煎嚭搴�
                                 {
                                     if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode))
                                     {
-
                                         Dt_Task dt_Ta = _taskService.GetOutTaskInfo2(conveyorLineInfoRead.Barcode);
+
+
+                                        WriteLog.Write_Log("2妤煎嚭搴撴祦绋�", $"{item.StationCode}鍑哄簱娴佺▼", $"鑾峰彇2妤煎嚭搴撲换鍔�,鎵樼洏鏉$爜锛歿dt_Ta.PalletCode}", dt_Ta);
                                         if (dt_Ta != null)
-                                        {
+                                        { 
+                                         WriteLog.Write_Log("2鍑哄簱娴佺▼", $"{item.StationCode}鍑哄簱娴佺▼",$"鑾峰彇鍑哄簱浠诲姟鎴愬姛寮�濮嬪悜plc鍐欏叆鍛戒护,鎵樼洏鏉$爜锛歵askno:{dt_Ta.TaskNum}------endpos:{dt_Ta.OutboundPlatform}--------stb:{ACK}");
                                             device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
                                             bool endpos = device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.OutboundPlatform, item.StationCode);
                                             device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
 
-
+                                            WriteLog.Write_Log("2妤煎嚭搴撴祦绋�", $"{item.StationCode}鍑哄簱娴佺▼", $"寮�濮嬪垹闄や换鍔�,鎵樼洏鏉$爜锛歿dt_Ta.PalletCode}");
                                             //鍒犻櫎浠诲姟
                                             _taskRepository.DeleteData(dt_Ta);
+ 
+                                            _taskHtyService.AddTaskHistory(dt_Ta, "鑷姩瀹屾垚");
+ 
                                         }
                                     }
                                 }
@@ -110,18 +115,22 @@
                             //鍑哄叆搴撶珯鍙�
                             else if (item.StationType == StationTypeEnum.StationType_InboundAndOutbound.ObjToInt())
                             {
+                               
                                 //杈撻�佺嚎瀹屾垚淇敼鎴愯緭閫佺嚎瀹屾垚鐘舵�佸緟鍫嗗灈鏈烘墽琛屼换鍔�
                                 if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK)
                                 {
                                     Dt_Task dt_Task = _taskService.GetTaskIninfo(conveyorLineInfoRead.Barcode);
+                                    WriteLog.Write_Log("1-2-3-4-5鍏ュ簱娴佺▼", $"{item.StationCode}鍏ュ簱娴佺▼", $"鑾峰彇鍏ュ簱浠诲姟,鎵樼洏鏉$爜锛歿dt_Task.PalletCode}", dt_Task);
                                     if (!string.IsNullOrEmpty(conveyorLineInfoRead.Barcode)&& dt_Task !=null)
                                     {
                                         bool ack = device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
                                         bool taskno = device.SetValue(W_ConveyorLineDB.TaskNo,1, item.StationCode);
+                                        WriteLog.Write_Log("1-3-4-5鍑哄叆搴撴祦绋�", $"{item.StationCode}鍑哄簱娴佺▼", $"鑾峰彇鍑哄簱浠诲姟鎴愬姛寮�濮嬪悜plc鍐欏叆鍛戒护,鎵樼洏鏉$爜锛歿dt_Task.PalletCode},taskno:{taskno}------ack:{ack}");
                                         WebResponseContent contentweb = _taskService.UpdateTaskIninfo(conveyorLineInfoRead.Barcode,item.StationCode); //鏍规嵁鏉$爜璺熻澶囩紪鍙峰幓鏌ヨ骞朵慨鏀逛换鍔�
+                                        WriteLog.Write_Log("1-3-4-5鍑哄叆搴撴祦绋�", $"{item.StationCode}鍏ュ簱娴佺▼", $"鍚憄lc鍐欏叆鎴愬姛寮�濮嬩慨鏀逛换鍔�,鎵樼洏鏉$爜锛歿dt_Task.PalletCode},淇敼浠诲姟鏄惁鎴愬姛{contentweb.Status}");
                                         if (contentweb.Status)
                                         {
-
+ 
                                         }
                                     }
                                 }
@@ -141,11 +150,11 @@
                                             if (deviceProRead != null)
                                             {
                                                 R_ConveyorLineInfo conveyorLineInfoRead2 = device.Communicator.ReadCustomer<R_ConveyorLineInfo>(deviceProRead.DeviceProAddress);
-
+ 
                                                 ConveyorLineSignal conveyorLineSignalRead2 = conveyorLineInfoRead2.Signal.ByteToBoolObject<ConveyorLineSignal>();
-
+ 
                                                 R_ConveyorLineStatus conveyorLineStatus2 = conveyorLineInfoRead2.Status.ByteToBoolObject<R_ConveyorLineStatus>();
-
+ 
                                                 if (!conveyorLineSignalRead2.STB && !conveyorLineSignalRead2.ACK && conveyorLineStatus.Online && conveyorLineStatus2.Free && !conveyorLineStatus2.Goods && !conveyorLineStatus2.Alarm && !STB && !ACK)//鍒ゆ柇鍑哄簱鍙f槸鍚︾┖闂�
                                                 {
                                                     Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode);
@@ -160,78 +169,87 @@
                                         }
                                     }
                                 }*/
+                                Dt_Task dt_Tas = _taskService.GetOutTaskInfo(item.StationCode);  //鑾峰彇鍑哄簱浠诲姟
+                                if (dt_Tas != null)
+                                {
+                                    WriteLog.Write_Log("1-3-4-5鍑哄簱娴佺▼", $"{item.StationCode}鍑哄簱娴佺▼", $"鑾峰彇鍑哄簱浠诲姟,鎵樼洏鏉$爜锛歿dt_Tas.PalletCode}", new
+                                    {
+                                        鍙栧弽conveyorLineSignalReadSTB = !conveyorLineSignalRead.STB,
+                                        鍙栧弽conveyorLineSignalReadACK = !conveyorLineSignalRead.ACK,
+                                        鑱旀満conveyorLineStatusOnline = conveyorLineStatus.Online,
+                                        鏈夋棤璐onveyorLineStatusGoods = conveyorLineStatus.Goods,
+                                        鏁呴殰鎴栨甯稿彇鍙峜onveyorLineStatusAlarm = !conveyorLineStatus.Alarm,
+                                        鍙栧弽鏈湴STB = !STB,
+                                        鍙栧弽鏈湴ACK = !ACK
+                                    });
+                                }
                                 else if (!conveyorLineSignalRead.STB && !conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !STB && !ACK)//鍏朵粬妤煎眰鍑哄簱
                                 {
                                     
                                     Dt_Task dt_Ta = _taskService.GetOutTaskInfo(item.StationCode);  //鑾峰彇鍑哄簱浠诲姟
-
-
+                                    WriteLog.Write_Log("1-3-4-5鍑哄簱娴佺▼",$"{item.StationCode}鍑哄簱娴佺▼",$"鑾峰彇鍑哄簱浠诲姟,鎵樼洏鏉$爜锛歿dt_Ta.PalletCode}",dt_Ta);
                                     if (dt_Ta != null)
                                     {
                                         bool taskno = device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
                                         bool endpos = device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.OutboundPlatform, item.StationCode);
                                         bool stb = device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
+                                        WriteLog.Write_Log("1-3-4-5鍑哄簱娴佺▼", $"{item.StationCode}鍑哄簱娴佺▼",$"鑾峰彇鍑哄簱浠诲姟鎴愬姛寮�濮嬪悜plc鍐欏叆鍛戒护,鎵樼洏鏉$爜锛歿dt_Ta.PalletCode},taskno:{taskno}------endpos:{endpos}--------stb:{stb}");
 
-                                            if (taskno && endpos && stb)
+                                        if (taskno && endpos && stb)
                                             {
+
                                             //鍫嗗灈鏈轰换鍔″畬鎴愪笅涓�鍦板潃鏀规垚杈撻�佺嚎涓嬩竴鍦板潃锛岃澶囩紪鍙锋敼鎴愯緭閫佺嚎
                                             WebResponseContent webResponse = _taskService.UpdateTaskStatusToNext(dt_Ta.TaskNum);
+
+                                             WriteLog.Write_Log("1-3-4-5鍑哄簱娴佺▼",$"{item.StationCode}鍑哄簱娴佺▼",$"鍚憄lc鍐欏叆鎴愬姛寮�濮嬩慨鏀逛换鍔�,鎵樼洏鏉$爜锛歿dt_Ta.PalletCode},淇敼浠诲姟鏄惁鎴愬姛{webResponse.Status}");
+
                                             if (webResponse.Status)
                                             {
                                                 if (dt_Ta.TargetAddress != "2021" && dt_Ta.TargetAddress != "2020")
                                                 {
                                                     //鍒犻櫎浠诲姟
                                                     bool res = _taskRepository.DeleteData(dt_Ta);
+                                                    WriteLog.Write_Log("1-3-4-5鍑哄簱娴佺▼", $"{item.StationCode}鍑哄簱娴佺▼",$"淇敼浠诲姟鎴愬姛寮�濮嬪垹闄や换鍔�,鎵樼洏鏉$爜锛歿dt_Ta.PalletCode},鍒犻櫎浠诲姟鏄惁鎴愬姛{res}");
+
                                                     if (res)
                                                     {
-                                                        TaskService.AddTaskHistory(dt_Ta, "鑷姩瀹屾垚");
+                                                    _taskHtyService.AddTaskHistory(dt_Ta, "鑷姩瀹屾垚");
                                                     }
                                                 }
                                             }
                                         }
                                         
                                     }
-
+ 
                                 }
-
+ 
                                 else if (!conveyorLineSignalRead.STB && conveyorLineSignalRead.ACK && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && STB && !ACK)
                                 {
                                     device.SetValue(W_ConveyorLineDB.STB, false, item.StationCode);
                                 }//娓呮纭淇″彿
-
+ 
                             }
                             //鍏ュ簱绔欏彴
                             else if (item.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt()) //2014浜や簰鍙�
-                            {
+                            { 
                                 if (conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && !ACK)
                                 {
                                     Dt_Task dt_Task = _taskService.GetTaskIninfo(conveyorLineInfoRead.Barcode);
-
+                                    WriteLog.Write_Log("2妤煎叆搴撴祦绋�", $"{item.StationCode}鍏ュ簱娴佺▼", $"鎵樼洏鏉$爜锛歿dt_Task.PalletCode},浠诲姟{dt_Task}");
                                     if (conveyorLineInfoRead.TaskNo == 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode)&& dt_Task != null)//閲囪喘鍏ュ簱
                                     {
                                         Dt_Task dt_Ta = _taskService.GetTaskIninfo(conveyorLineInfoRead.Barcode); //閫氳繃鏉$爜鍘绘煡璇换鍔�
-                                        //if (dt_Ta.SourceAddress == "2021" || dt_Ta.SourceAddress == "2020")
-                                        //{
-                                        //    bool IsOccupied2008 = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2008");
-                                        //    bool IsOccupied2009 = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2009");
-                                        //    bool IsOccupied2015 = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2015");
-                                        //    bool IsOccupied2016 = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2016");
-                                        //    //鍒ゆ柇鏄惁鎴愮珛
-                                        //    if (IsOccupied2008 || IsOccupied2009 || IsOccupied2015 || IsOccupied2016)
-                                        //    {
-                                        //        return null;
-                                        //    }
-                                        //}
                                         if (dt_Ta != null)
                                         {
                                             bool endpos = device.SetValue(W_ConveyorLineDB.EndPos, dt_Ta.SourceAddress, item.StationCode);
                                             bool taskno = device.SetValue(W_ConveyorLineDB.TaskNo, dt_Ta.TaskNum, item.StationCode);
                                             bool ack = device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+                                            WriteLog.Write_Log("2妤煎叆搴撴祦绋�", $"{item.StationCode}鍏ュ簱娴佺▼", $"鑾峰彇鍏ュ簱浠诲姟鎴愬姛寮�濮嬪悜plc鍐欏叆鍛戒护,鎵樼洏鏉$爜锛歿dt_Ta.PalletCode},taskno:{taskno}------endpos:{endpos}--------ack:{ack}");
                                         }
                                        
                                     }
-
-
+ 
+ 
                                 }
                                 if (!conveyorLineSignalRead.STB && conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && ACK)
                                 {
@@ -241,17 +259,18 @@
                             }
                         }
                     }
-
+ 
                 catch (Exception ex)
                 {
+                    //throw;
                 }
-
-
-
+ 
+ 
+ 
             }
             return Task.CompletedTask;
         }
-
+ 
         //鑾峰彇鎷i�夌姸鎬佹湁鏃犺揣鐘舵��
         public static bool GetPick()
         {
@@ -259,7 +278,7 @@
             //bool IsOccupied2009 = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2009");
             //bool IsOccupied2015 = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2015");
             //bool IsOccupied2016 = device.GetValue<W_ConveyorLineDB, bool>(W_ConveyorLineDB.IsOccupied, "2016");
-
+ 
             ////鍒ゆ柇鏄惁鎴愮珛
             //if (IsOccupied2008&&IsOccupied2009&&IsOccupied2015&&IsOccupied2016)
             //{
@@ -269,8 +288,8 @@
             //{
             //    return true;
             //}
-
+ 
             return true;
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3