From 7ab32aab1cfd8b71940ade95fa69aec0b95e95c3 Mon Sep 17 00:00:00 2001
From: liudl <673013083@qq.com>
Date: 星期日, 16 二月 2025 16:36:40 +0800
Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/WCSNet6

---
 Admin.NET/WCS.Application/PLC/PLCService.cs |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 92a5551..ac69156 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -1757,11 +1757,42 @@
                 { // 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭�
                     var strMsg = "";
                     var http = new HttpService();
-                    var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
-                    var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
                     // 鑾峰彇鎵樼洏浠诲姟鍙�
                     var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
                     var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
+                    if (res1.IsSucceed)
+                    {
+                        string tasknoVal = val.ToString();
+                        var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.IsDelete == false);
+                        if (modTask == null)
+                        {
+                            //璇诲彇鎴愬姛鍚庡啓鍏�151
+                            var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "151");//鏀跺埌鍙斁淇″彿鍚庡啓鍏�151
+                            if (ret.IsSucceed)
+                            {
+                                //鍥炰紶WMS鍙斁淇″彿
+                                strMsg = http.RequesContinueAgv(res1.ToString(),modTask.StationNum);
+                                if (!strMsg.Contains("-1"))
+                                {
+                                    // 鎻掑叆浠诲姟鏄庣粏 
+                                    var modInsertTaskMonitor = new WcsTaskMonitor()
+                                    {
+                                        PlcId = modDevice.Id,
+                                        PlcName = modDevice.Text,
+                                        InteractiveMsg = $"鍐欏叆鎸囦护151锛歿modDevice.StationNum}宸ヤ綅鍙帴鍙桝GV鏀捐揣鍏ュ簱",
+                                        PalletNo = modTask.PalletNo,
+                                        Status = TaskStatusEnum.Complete,
+                                        StartLocat = modDevice.StationNum
+                                    };
+                                    // 鎻掑叆浜や簰鏃ュ織
+                                    _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
+                                }
+                            }
+                            break;
+                        }
+                    }
+                     //
+
                 }
                 break;
             #endregion
@@ -1830,10 +1861,13 @@
                             // 閫氶亾鍙�
                             var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "閫氶亾鍙�");
 
-                            // 婕旂ず妯″紡鐩存帴鍐欏叆1鍒嗛亾
-                            var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, "1");
+                            // 婕旂ず妯″紡鐩存帴鍐欏叆鍒嗛亾鍙�
+                            Random random = new Random();
+                            int ranNumber = random.Next(2) == 0 ? 1 : 5;
+                            var ret = plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, ranNumber.ToString());
                             if (ret.IsSucceed)
                             {
+                                Log.Information(string.Format("鍒嗛亾鎴愬姛锛岄亾鍙锋槸锛�" + ranNumber));
                                 // 鍐欏叆娴佺▼鎺у埗瀛� 2
                                 var retVal = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "2");
                                 if (!retVal.IsSucceed)

--
Gitblit v1.8.0