From 011ca316e6ec2ed93e31c45a9ebd9d3c66664871 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 17 四月 2026 11:47:03 +0800
Subject: [PATCH] 代码更新

---
 项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPC.cs |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
index 2c5a958..b688634 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPC.cs"
@@ -65,6 +65,7 @@
             try
             {
                 bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+                bool isUpdate = false;
                 if (flag && value != null)
                 {
                     OtherDevice device = (OtherDevice)value;
@@ -74,7 +75,7 @@
                     {
                         DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
                         DeviceProDTO? deviceProWrite = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(W_ConveyorLineCPDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                        if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null)
+                        if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt() && deviceProRead != null && deviceProWrite != null)
                         {
                             R_ConveyorLineCPInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineCPInfo>(deviceProRead.DeviceProAddress);
                             //鐮佸灈婊$洏鐢熸垚RGV鎼繍浠诲姟
@@ -90,24 +91,32 @@
                                         Dt_Task taskNew = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationCode && _taskService.TaskInboundTypes.Contains(x.TaskType) && (x.TaskState == TaskStatusEnum.New.ObjToInt()));
                                         if (taskNew != null)
                                         {
+                                            device.SetValue(W_ConveyorLineCPDB.W_Command, 1, item.StationCode);
                                             _taskService.UpdateTask(taskNew, TaskStatusEnum.RGV_Execute);
                                         }
                                     }
                                     Thread.Sleep(1000);
                                 }
                             }
-                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.StatusPV == 2 && conveyorLineInfoRead.Command == 10)
+                            if (conveyorLineInfoRead != null && conveyorLineInfoRead.StatusPV == 2 && conveyorLineInfoRead.Command == 10 && item.IsOccupied == 1)
                             {
                                 item.IsOccupied = 0;
+                                isUpdate = true;
+                                WriteInfo("鐮佸灈宸ヤ綅鐘舵�佹洿鏂�",$"{item.StationCode}{DateTime.Now}鏇存柊宸ヤ綅鐘舵��:{conveyorLineInfoRead.Command}");
                             }
-                            else
+                            else if ((conveyorLineInfoRead == null ||(conveyorLineInfoRead != null && conveyorLineInfoRead.Command != 10 && item.IsOccupied == 0)))
                             {
                                 item.IsOccupied = 1;
+                                isUpdate = true;
+                                WriteInfo("鐮佸灈宸ヤ綅鐘舵�佹洿鏂�", $"{item.StationCode}{DateTime.Now}鏇存柊宸ヤ綅鐘舵�佷笉鍙敤");
                             }
                         }
 
                     }
-                    _stationMangerRepository.UpdateData(stationMangers);
+                    if (isUpdate)
+                    {
+                        _stationMangerRepository.UpdateData(stationMangers);
+                    }
                 }
             }
             catch (Exception ex)

--
Gitblit v1.9.3