From cb385f0b515c738b503c5c75c9d7efcec323716d Mon Sep 17 00:00:00 2001
From: duyongjia <adu_555@163.com>
Date: 星期五, 28 二月 2025 09:12:40 +0800
Subject: [PATCH] 数据库脚本提交

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |   71 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 20 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
index da7be29..eb3ac10 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs"
@@ -54,11 +54,12 @@
         public Task Execute(IJobExecutionContext context)
         {
             
-             WriteDebug("绾跨▼缁熻鏃ュ織", "绾跨▼鏁�" + ThreadPool.ThreadCount);
+             //WriteDebug("绾跨▼缁熻鏃ュ織", "绾跨▼鏁�" + ThreadPool.ThreadCount);
+            
              //CommonStackerCrane commonStackerCrane = (CommonStackerCrane)context.JobDetail.JobDataMap.Get("JobParams");
              CommonStackerCrane commonStackerCrane = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "SC01") as CommonStackerCrane;
             try
-            {  
+            {
                 if (commonStackerCrane != null)
                 {
                    //WriteDebug("澶у爢鍨涙満杩愯鏃ュ織", $"澶у爢鍨涙満浠诲姟鎵ц涓�...");
@@ -75,8 +76,7 @@
                         {
                             Dt_Task? task = GetTask(commonStackerCrane);
                             if (task != null)
-                            {
-                                
+                            { 
                                 WriteDebug(nameof(CommonStackerCraneJob), $"澶у爢鍨涙満浠诲姟鍙穥task.TaskNum}");
                                 StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
                                 if (stackerCraneTaskCommand != null)
@@ -136,7 +136,7 @@
                     //璇诲彇澶у爢鍨涙満浠诲姟鍙峰拰浠诲姟瀹屾垚纭鐘舵�侊紙鍥犱负灏佽鐨勪簨浠剁粡甯镐笉瑙﹀彂锛屾墍浠ュ姞涓洿鎺ヨ鐨勯�昏緫锛屼互鍏嶅嚭鐜板爢鍨涙満涓�鐩存帴澶勪簬绛夊緟wcs纭锛�
                     byte IsOver = commonStackerCrane.Communicator.Read<byte>("DB106.22");
                     int tasknum = commonStackerCrane.Communicator.Read<int>("DB106.18");
-                    WriteDebug(nameof(CommonStackerCraneJob), $"澶у爢鍨涙満SC01浠诲姟鍙峰爢鍨涙満浠诲姟鍙凤細{tasknum}鐘舵�侊細{IsOver}");
+                    //WriteDebug(nameof(CommonStackerCraneJob), $"澶у爢鍨涙満SC01浠诲姟鍙峰爢鍨涙満浠诲姟鍙凤細{tasknum}鐘舵�侊細{IsOver}");
                     if (IsOver == 6)
                     {
                         if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
@@ -191,10 +191,24 @@
                         {
                             IsAllow = commonStackerCrane.Communicator.Read<short>("DB2.8.0");
                         }
-                        if (IsAllow == 1)//濡傛灉涓�1锛屽垯鍏佽AGV杩涘叆锛屽洖浼燱MS
+                        //鏌ヨ浠诲姟鏍囪涓�1鐨勪换鍔′负绌烘墠鍏佽鍥炰紶
+                        WriteDebug(nameof(CommonStackerCraneJob), $"浠诲姟鍙�:{task1001.TaskNum}-鏄惁鍏佽:{IsAllow}");
+                        Dt_Task? taskAgvIning = _taskService.QueryStackerCraneTaskByAGVIning("SC01");
+                        if (IsAllow == 1&&taskAgvIning==null)//濡傛灉涓�1锛屽垯鍏佽AGV杩涘叆锛屽洖浼燱MS
                         {
+                            _taskService.UpdateTaskAllowIn(task1001.TaskNum, 1);
+                            WriteDebug(nameof(CommonStackerCraneJob), $"鏇存柊鏄惁杩涘叆鍗囬檷鏈烘爣蹇楀��1锛屼换鍔″彿{task1001.TaskNum}");
+                            IsAllow = 0;//鏇存柊鎴愬姛锛岀疆0涓嶅厑璁�
                             MESSendCMD sendcmd = new MESSendCMD { cmd = 2001, task_id = task1001.TaskNum, status = 6 };
                             MESResponse res = ApiInvoke.SendTaskCMD(sendcmd);
+
+                            //if (res != null && res.code == 0)//鍥炰紶2001鎴愬姛
+                            //{
+                                //WCS璇诲埌鍏佽淇″彿鍚庝换鍔℃爣璁�1,琛ㄧずAGV宸茶繘鍏ユ彁鍗囨満,Dt_Task 涓殑CurrentAddress鍋氫负鏍囪瀛楁
+                                //_taskService.UpdateTaskAllowIn(task1001.TaskNum, 1);
+                                //WriteDebug(nameof(CommonStackerCraneJob), $"鏇存柊鏄惁杩涘叆鍗囬檷鏈烘爣蹇楀��1锛屼换鍔″彿{task1001.TaskNum}");
+                            //}
+                           
                         }
                     }
                     Dt_Task? task3001 = _taskService.QueryStackerCraneTaskByAGVPutFinish("SC01");
@@ -206,26 +220,23 @@
                         if (task3001.SourceAddress == "SC01-002-000-001")//WMS 1001绔欑偣
                         {
                             //鎻愬崌鏈烘槸鍚﹀浜庡氨缁姸鎬�
-                          
                             int IsReady = commonStackerCrane.Communicator.Read<short>("DB2.0.0");
-                            WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈虹姸鎬侊細{IsReady}浠诲姟鍙凤細{task3001.TaskNum}");
+                            WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈烘槸鍚﹀氨缁姸鎬侊細{IsReady}浠诲姟鍙凤細{task3001.TaskNum}");
                             //鍐欏叆鎻愬崌淇℃伅
                             IsWriteOne = commonStackerCrane.Communicator.Read<short>("DB1.0.0");
                             if (IsWriteOne == 0 && IsReady == 1)
                             {
                                 commonStackerCrane.Communicator.Write<short>("DB1.0.0", 1);
-                            }
-                          
+                            }  
                             //璇诲彇鎻愬崌鏈轰俊鍙凤紝纭畾鏄惁鎻愬崌瀹屾垚
-
                             IsFinish = commonStackerCrane.Communicator.Read<short>("DB2.2.0");
+                          
                         }
                         else if (task3001.SourceAddress == "SC01-002-000-002")//WMS 1002绔欑偣
                         {
                             //鎻愬崌鏈烘槸鍚﹀浜庡氨缁姸鎬�
-                         
                             int IsReady = commonStackerCrane.Communicator.Read<short>("DB2.0.0");
-                            WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈虹姸鎬侊細{IsReady}浠诲姟鍙凤細{task3001.TaskNum}");
+                            WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈烘槸鍚﹀氨缁姸鎬侊細{IsReady}浠诲姟鍙凤細{task3001.TaskNum}");
                             //鍐欏叆鎻愬崌淇℃伅
                             IsWriteTwo = commonStackerCrane.Communicator.Read<short>("DB1.6.0");
                             if (IsWriteTwo == 0 && IsReady == 1)
@@ -235,17 +246,37 @@
                            
                             //璇诲彇鎻愬崌鏈轰俊鍙凤紝纭畾鏄惁鎻愬崌瀹屾垚
                             IsFinish = commonStackerCrane.Communicator.Read<short>("DB2.10.0");
+                          
                         }
+                        
                         if (IsFinish == 1)//濡傛灉涓�1锛屽垯琛ㄧず鎻愬崌瀹屾垚锛屽洖浼燱MS
                         {
-                            MESSendCMD sendcmd = new MESSendCMD { cmd = 2002, task_id = task3001.TaskNum, status = 6 };
-                            MESResponse res = ApiInvoke.SendTaskCMD(sendcmd);
-                            string inparam = JsonConvert.SerializeObject(sendcmd);
-                            WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈烘彁鍗囧畬鎴愶紝鍥炰紶WMS,鍏ュ弬锛歿inparam}");
-
-                            if (res != null && res.code != 0)
+                            if (task3001.WMSId == 3)// WCS浜哄伐鍏ュ簱
                             {
-                                WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈烘彁鍗囧畬鎴愶紝鍥炰紶WMS澶辫触锛佷换鍔″彿{task3001.TaskNum}");
+                                MESTaskDTO taskDTO = new MESTaskDTO();
+                                taskDTO.weight = task3001.TaskNum;//鏃т换鍔″彿
+                                taskDTO.cmd = 101;
+                                _taskService.ReceiveWCSTask(taskDTO);
+                            }
+                            else
+                            {
+                                MESSendCMD sendcmd = new MESSendCMD { cmd = 2002, task_id = task3001.TaskNum, status = 6 };
+                                MESResponse res = ApiInvoke.SendTaskCMD(sendcmd);
+                                string inparam = JsonConvert.SerializeObject(sendcmd);
+                                WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈烘彁鍗囧畬鎴愶紝鍥炰紶WMS,鍏ュ弬锛歿inparam}");
+
+
+                                if (res != null && res.code == 0)
+                                {
+
+                                    _taskService.UpdateTaskAllowIn(task3001.TaskNum, 0);
+                                    WriteDebug(nameof(CommonStackerCraneJob), $"鏇存柊鏄惁杩涘叆鍗囬檷鏈烘爣蹇楀��0锛屼换鍔″彿{task3001.TaskNum}");
+
+                                }
+                                else
+                                {
+                                    WriteDebug(nameof(CommonStackerCraneJob), $"鎻愬崌鏈烘彁鍗囧畬鎴愶紝鍥炰紶WMS澶辫触锛佷换鍔″彿{task3001.TaskNum}");
+                                }
                             }
                         }
                        

--
Gitblit v1.9.3