1
czw
昨天 c527a91673f8a53bc60280edc5dc1038e91b0266
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -33,6 +33,7 @@
using GZ.Device.PLC;
using System.Runtime.CompilerServices;
using ServiceStack.Text;
using GZ.Projects.AuxAllWCS;
namespace GZ.Projects.AuxAllWCS
{
@@ -286,24 +287,36 @@
        void task20132027(Tag tag)
        {
            if (tag.ssx输送线.s2027.wTaskNo > 0 && tag.ssx输送线.s2020.w托盘码 != tag.ssx输送线.s2027.R托盘码)
            {
                tag.ssx输送线.s2027.wEbit = 0;
                tag.ssx输送线.s2027.w托盘码 = "";
                tag.ssx输送线.s2027.wTaskNo = 0;
                var t20132027 = tag.ssx输送线.s2027;
                LogHelper.Info($"查看 2027任务 R托盘号:{t20132027.R托盘码} RtaskState{t20132027.RtaskState} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit} w托盘号:{t20132027.w托盘码}");
                //if (tag.ssx输送线.s2027.wTaskNo > 0 && tag.ssx输送线.s2020.w托盘码 != tag.ssx输送线.s2027.R托盘码)
                //{
                //    tag.ssx输送线.s2027.wEbit = 0;
                //    tag.ssx输送线.s2027.w托盘码 = "";
                //    tag.ssx输送线.s2027.wTaskNo = 0;
                //}
            }
            if (tag.ssx输送线.s2020.wTaskNo > 0 && tag.ssx输送线.s2020.w托盘码 != tag.ssx输送线.s2020.R托盘码)
            {
                tag.ssx输送线.s2020.wEbit = 0;
                tag.ssx输送线.s2020.w托盘码 = "";
                tag.ssx输送线.s2020.wTaskNo = 0;
                var t20132027 = tag.ssx输送线.s2020;
                LogHelper.Info($"查看 2020任务 R托盘号:{t20132027.R托盘码} RtaskState{t20132027.RtaskState} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit} w托盘号:{t20132027.w托盘码}");
                //if (tag.ssx输送线.s2020.wTaskNo > 0 && tag.ssx输送线.s2020.w托盘码 != tag.ssx输送线.s2020.R托盘码)
                //{
                //    tag.ssx输送线.s2020.wEbit = 0;
                //    tag.ssx输送线.s2020.w托盘码 = "";
                //    tag.ssx输送线.s2020.wTaskNo = 0;
                //}
            }
            if (tag.ssx输送线.s2013.wTaskNo > 0 && tag.ssx输送线.s2013.w托盘码 != tag.ssx输送线.s2013.R托盘码)
            {
                tag.ssx输送线.s2013.wEbit = 0;
                tag.ssx输送线.s2013.w托盘码 = "";
                tag.ssx输送线.s2013.wTaskNo = 0;
                var t20132027 = tag.ssx输送线.s2013;
                LogHelper.Info($"查看 2013任务 R托盘号:{t20132027.R托盘码} RtaskState{t20132027.RtaskState} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit} w托盘号:{t20132027.w托盘码}");
                //if (tag.ssx输送线.s2013.wTaskNo > 0 && tag.ssx输送线.s2013.w托盘码 != tag.ssx输送线.s2013.R托盘码)
                //{
                //    tag.ssx输送线.s2013.wEbit = 0;
                //    tag.ssx输送线.s2013.w托盘码 = "";
                //    tag.ssx输送线.s2013.wTaskNo = 0;
            }
            //}
        }
        void taskssss1(Tag tag)
        {
@@ -2721,7 +2734,7 @@
                i = 0;
            }
            LogHelper.Info($"_methodCache>>>>" + _methodCache.Count + ">>>>" + JsonConvert.SerializeObject(_methodCache.Keys));
            //LogHelper.Info($"_methodCache>>>>" + _methodCache.Count + ">>>>" + JsonConvert.SerializeObject(_methodCache.Keys));
            //Console.WriteLine($"SA2030 ä»»åŠ¡çŠ¶æ€ï¼š   =====>");
            //Console.WriteLine($"SA2030 ä»»åŠ¡çŠ¶æ€ï¼š{tag.SA2030.RtaskState}- ç©ºé—²{tag.SA2030.R5空闲} - barcode:{tag.SA2030.R托盘码}");
@@ -2755,60 +2768,99 @@
                                switch (task.S_START_LOC)
                                {
                                    case "2030":
                                        if (!string.IsNullOrEmpty(tag.SA2030.R托盘码))
                                        //if (!string.IsNullOrEmpty(tag.SA2030.R托盘码))
                                        //{
                                        //    LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} 2030 å‡ºå£æ‰˜ç›˜å·{tag.SA2030.R托盘码} åŒ¹é…æ ¡éªŒã€‚");
                                        //    var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
                                        //    {
                                        //        cntrCode = tag.SA2030.R托盘码,
                                        //        type = 1
                                        //    }));
                                        //    var strr = JsonConvert.DeserializeObject<MES2234>(str);
                                        //    if (strr.success && strr.data.materialCode == task.S_INDEX)
                                        //    {
                                        //        task.S_CNTRS = tag.SA2030.R托盘码;
                                        //        taskservice.Update(task);
                                        //        goto gotoOOOOOOOOO;
                                        //    }
                                        //    else
                                        //    {
                                        //        LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} ç‰©æ–™{task.S_INDEX} ä¸Ž 2030 å‡ºå£çš„æ‰˜ç›˜ç‰©æ–™{strr.data.materialCode}不符合");
                                        //    }
                                        //}
                                        //else
                                        if (string.IsNullOrEmpty(tag.SA2030.R托盘码))
                                        {
                                            LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} 2030 å‡ºå£æ‰˜ç›˜å·{tag.SA2030.R托盘码} åŒ¹é…æ ¡éªŒã€‚");
                                            var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
                                            {
                                                cntrCode = tag.SA2030.R托盘码,
                                                type = 1
                                            }));
                                            var strr = JsonConvert.DeserializeObject<MES2234>(str);
                                            if (strr.success && strr.data.materialCode == task.S_INDEX)
                                            {
                                                task.S_CNTRS = tag.SA2030.R托盘码;
                                                taskservice.Update(task);
                                                goto gotoOOOOOOOOO;
                                            }
                                            else
                                            {
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} ç‰©æ–™{task.S_INDEX} ä¸Ž 2030 å‡ºå£çš„æ‰˜ç›˜ç‰©æ–™{strr.data.materialCode}不符合");
                                            }
                                        }
                                        else
                                        {
                                            //创建出库直接赋值给mes任务。防止出库慢,多次出库。
                                            //2027  2220   2013.. è¯†åˆ«ä¸€ä¸‹ï¼Œå¼€å§‹åº“
                                            //1 çœ‹27 20 13 æ˜¯å¦æœ‰ä»»åŠ¡ã€‚ æœ‰åˆ™ä¸å‡ºäº†ã€‚ ç­‰å‡ºå£åˆ¤æ–­åŒ¹é…ã€‚
                                            //2  éƒ½æ²¡æœ‰ä»»åŠ¡ï¼Œé€ä¸ªåŒ¹é…æ˜¯å¦ç¬¦åˆï¼Œåˆ™å‡ºåº“ã€‚
                                            //LogHelper.Info($"");
                                            {
                                                var t20132027 = tag.ssx输送线.s2027;
                                                LogHelper.Info($"识别2027任务 æ‰˜ç›˜å·ï¼š{t20132027.R托盘码} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}");
                                                if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030))
                                                LogHelper.Info($"mes识别2027任务 æ‰˜ç›˜å·ï¼š{t20132027.R托盘码} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}");
                                                //if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030))
                                                //{
                                                //    LogHelper.Info($"2027任务 ä»»åŠ¡ç»ˆç‚¹æ˜¯2030 ï¼Œç»ˆæ­¢");
                                                //    continue;
                                                //}
                                                if (t20132027.wTaskNo > 0 && t20132027.RtaskState == 1)
                                                {
                                                    LogHelper.Info($"2027任务 ä»»åŠ¡ç»ˆç‚¹æ˜¯2030 ï¼Œç»ˆæ­¢");
                                                    continue;
                                                    LogHelper.Info($"2027 å·²ä¸‹å‘任务,终止");
                                                }
                                                else
                                                {
                                                    LogHelper.Info($"2027 ä»»åŠ¡æ¸…ç©º");
                                                    t20132027.wEbit = 0;
                                                    t20132027.w托盘码 = "";
                                                    t20132027.wTaskNo = 0;
                                                }
                                            }
                                            {
                                                var t20132027 = tag.ssx输送线.s2020;
                                                LogHelper.Info($"识别2027任务 æ‰˜ç›˜å·ï¼š{t20132027.R托盘码} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}");
                                                if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030))
                                                LogHelper.Info($"mes识别2020任务 æ‰˜ç›˜å·ï¼š{t20132027.R托盘码} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}");
                                                //if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030))
                                                //{
                                                //    LogHelper.Info($"2020任务 ä»»åŠ¡ç»ˆç‚¹æ˜¯2030 ï¼Œç»ˆæ­¢");
                                                //    continue;
                                                //}
                                                if (t20132027.wTaskNo > 0 && t20132027.RtaskState == 1)
                                                {
                                                    LogHelper.Info($"2020任务 ä»»åŠ¡ç»ˆç‚¹æ˜¯2030 ï¼Œç»ˆæ­¢");
                                                    continue;
                                                    LogHelper.Info($"2020 å·²ä¸‹å‘任务,终止");
                                                }
                                                else
                                                {
                                                    LogHelper.Info($"2020 ä»»åŠ¡æ¸…ç©º");
                                                    t20132027.wEbit = 0;
                                                    t20132027.w托盘码 = "";
                                                    t20132027.wTaskNo = 0;
                                                }
                                            }
                                            {
                                                var t20132027 = tag.ssx输送线.s2013;
                                                LogHelper.Info($"识别2027任务 æ‰˜ç›˜å·ï¼š{t20132027.R托盘码} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}");
                                                if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030))
                                                LogHelper.Info($"mes识别2013任务 æ‰˜ç›˜å·ï¼š{t20132027.R托盘码} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}");
                                                //if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030))
                                                //{
                                                //    LogHelper.Info($"2013任务 ä»»åŠ¡ç»ˆç‚¹æ˜¯2030 ï¼Œç»ˆæ­¢");
                                                //    continue;
                                                //}
                                                if (t20132027.wTaskNo > 0 && t20132027.RtaskState == 1)
                                                {
                                                    LogHelper.Info($"2013任务 ä»»åŠ¡ç»ˆç‚¹æ˜¯2030 ï¼Œç»ˆæ­¢");
                                                    continue;
                                                    LogHelper.Info($"2013 å·²ä¸‹å‘任务,终止");
                                                }
                                                else
                                                {
                                                    LogHelper.Info($"2013 ä»»åŠ¡æ¸…ç©º");
                                                    t20132027.wEbit = 0;
                                                    t20132027.w托盘码 = "";
                                                    t20132027.wTaskNo = 0;
                                                }
                                            }
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s2027.R托盘码))
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s2027.R托盘码) && tag.ssx输送线.s2027.RtaskState == 1)
                                            {
                                                var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
                                                {
@@ -2822,11 +2874,13 @@
                                                    tag.ssx输送线.s2027.w托盘码 = tag.ssx输送线.s2027.R托盘码;
                                                    tag.ssx输送线.s2027.wTaskNo = 20272030;
                                                    tag.ssx输送线.s2027.wEbit = 2030;
                                                    LogHelper.Info($"2027 > 2030  SSX任务下发完成。");
                                                    LogHelper.Info($"2027 > 2030  SSX任务下发完成。w托盘码:{tag.ssx输送线.s2027.w托盘码},wTaskNo{tag.ssx输送线.s2027.wTaskNo} wEbit{tag.ssx输送线.s2027.wEbit}");
                                                    task.S_CNTRS = tag.ssx输送线.s2027.R托盘码;
                                                    taskservice.Update(task);
                                                    continue;
                                                }
                                            }
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s2020.R托盘码))
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s2020.R托盘码) && tag.ssx输送线.s2020.RtaskState == 1)
                                            {
                                                var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
                                                {
@@ -2840,12 +2894,14 @@
                                                    tag.ssx输送线.s2020.w托盘码 = tag.ssx输送线.s2020.R托盘码;
                                                    tag.ssx输送线.s2020.wTaskNo = 20202030;
                                                    tag.ssx输送线.s2020.wEbit = 2030;
                                                    LogHelper.Info($"2020 > 2030  SSX任务下发完成。");
                                                    LogHelper.Info($"2020 > 2030  SSX任务下发完成。w托盘码:{tag.ssx输送线.s2020.w托盘码},wTaskNo{tag.ssx输送线.s2020.wTaskNo} wEbit{tag.ssx输送线.s2020.wEbit}");
                                                    task.S_CNTRS = tag.ssx输送线.s2020.R托盘码;
                                                    taskservice.Update(task);
                                                    continue;
                                                }
                                            }
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s2013.R托盘码))
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s2013.R托盘码) && tag.ssx输送线.s2013.RtaskState == 1)
                                            {
                                                var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
                                                {
@@ -2859,11 +2915,17 @@
                                                    tag.ssx输送线.s2013.w托盘码 = tag.ssx输送线.s2013.R托盘码;
                                                    tag.ssx输送线.s2013.wTaskNo = 20132030;
                                                    tag.ssx输送线.s2013.wEbit = 2030;
                                                    LogHelper.Info($"2013 > 2030  SSX任务下发完成。");
                                                    LogHelper.Info($"2013 > 2030  SSX任务下发完成。w托盘码:{tag.ssx输送线.s2013.w托盘码},wTaskNo{tag.ssx输送线.s2013.wTaskNo} wEbit{tag.ssx输送线.s2013.wEbit}");
                                                    task.S_CNTRS = tag.ssx输送线.s2013.R托盘码;
                                                    taskservice.Update(task);
                                                    continue;
                                                }
                                            }
                                            LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} æ—¥å¿—能跑到这,说明没物料,或者都不符合 æ— æ³•去2030");
                                            LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} æ—¥å¿—能跑到这,说明没物料,或者都不符合 æ— æ³•去 2030");
                                        }
                                        else
                                        {
                                            LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} ç‰©æ–™{task.S_INDEX} 2030 æœ‰æ‰˜ç›˜ã€‚占了位置阻挡任务。");
                                        }
                                        break;
                                    case "1019":
@@ -3010,6 +3072,15 @@
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 1019 RtaskState>{tag.SA1019.RtaskState} æœªç”³è¯·RGV任务,不推送");
                                                continue;
                                            }
                                            if (!string.IsNullOrEmpty(tag.SA1019.R托盘码) && tag.SA1019.R托盘码 == task.S_CNTRS)
                                            {
                                            }
                                            else
                                            {
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 1019 æ‰˜ç›˜å·ä¸Žä»»åŠ¡ä¸åŒ¹é…ï¼Œä¸æŽ¨é€");
                                                continue;
                                            }
                                        }
                                        break;
                                    case "2030":
@@ -3018,6 +3089,15 @@
                                            if (tag.SA2030.RtaskState != 4)
                                            {
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 2030 RtaskState>{tag.SA2030.RtaskState} æœªç”³è¯·RGV任务,不推送");
                                                continue;
                                            }
                                            if (!string.IsNullOrEmpty(tag.SA2030.R托盘码) && tag.SA2030.R托盘码 == task.S_CNTRS)
                                            {
                                            }
                                            else
                                            {
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 2030 æ‰˜ç›˜å·ä¸Žä»»åŠ¡ä¸åŒ¹é…ï¼Œä¸æŽ¨é€");
                                                continue;
                                            }
                                        }
@@ -3030,6 +3110,15 @@
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 3005 RtaskState>{tag.ssx输送线.s3005.RtaskState} æœªç”³è¯·RGV任务,不推送");
                                                continue;
                                            }
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s3005.R托盘码) && tag.ssx输送线.s3005.R托盘码 == task.S_CNTRS)
                                            {
                                            }
                                            else
                                            {
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 3005 æ‰˜ç›˜å·ä¸Žä»»åŠ¡ä¸åŒ¹é…ï¼Œä¸æŽ¨é€");
                                                continue;
                                            }
                                        }
                                        break;
                                    case "3010":
@@ -3040,6 +3129,15 @@
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 3010 RtaskState>{tag.ssx输送线.s3010.RtaskState} æœªç”³è¯·RGV任务,不推送");
                                                continue;
                                            }
                                            if (!string.IsNullOrEmpty(tag.ssx输送线.s3010.R托盘码) && tag.ssx输送线.s3010.R托盘码 == task.S_CNTRS)
                                            {
                                            }
                                            else
                                            {
                                                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} èµ·ç‚¹ 3010 æ‰˜ç›˜å·ä¸Žä»»åŠ¡ä¸åŒ¹é…ï¼Œä¸æŽ¨é€");
                                                continue;
                                            }
                                        }
                                        break;
                                }