1
czw
2025-07-07 31beeb3d23e658e5aa2bbb9f251b006095eef15a
2025Äê6ÔÂ12ÈÕ/AuxAllWCS/Build/Project/´úÂë/VS×Ô¶¨ÒåÀà/AutoThread.cs
@@ -893,7 +893,7 @@
                            if (tag.RGV.bit1taskOver == 1)
                                tag.RGV.bit1taskOver = 0;
                            LogHelper.Info($"{task1.S_TASK_NO}> taskend å†™ 0");
                            LogHelper.Info($"{task1.S_TASK_NO}> taskend å†™ 125");
                            Conn.默认Redis.SetValue("RGV.taskend", "125", "RGVQueue", false);
                            LogHelper.Info($"{task1.S_TASK_NO}> bit1taskOver_LAST å†™ 0");
                            RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg);
@@ -996,7 +996,7 @@
            var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" };
            TaskActRepository taskActRepository = new TaskActRepository();
            TaskRepository taskRepository = new TaskRepository();
            var requires = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE);
            var requires = taskActRepository.FindList(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours < 1 && taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE);
            foreach (var item in requires)
            {
                LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}光栅处理 =================> ");
@@ -1618,7 +1618,7 @@
        }
        public void ResolveMesTask()
        public void ResolveMesTask(Tag tag)
        {
            TaskRepository taskservice = new TaskRepository();
            var tasks = taskservice.FindList(x => (x.S_B_STATE == "MES" || x.S_B_STATE == "People") && x.N_PRIORITY == -88);
@@ -1635,6 +1635,68 @@
                LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} {(sx == null ? "非" : "是")}总装机器人任务");
                if (sx == null)
                {
                    if (string.IsNullOrEmpty(task.S_CNTRS) && !string.IsNullOrEmpty(task.S_INDEX))
                    {
                        // å«æ–™ä»»åŠ¡ã€‚ æŒ‡å®šç‰©æ–™ä¸æŒ‡å®šæ‰˜ç›˜ï¼Œéœ€è¦å‡ºåº“
                        switch (task.S_START_LOC)
                        {
                            case "2030":
                                if (!string.IsNullOrEmpty(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);
                                    }
                                    else
                                    {
                                        LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} 2030 å‡ºå£çš„æ‰˜ç›˜ç‰©æ–™ä¸ç¬¦åˆ");
                                    }
                                }
                                else
                                {
                                    //TODO------------------2027  2220   2013.. è¯†åˆ«ä¸€ä¸‹ï¼Œå¼€å§‹åº“
                                }
                                break;
                            case "1019":
                                if (!string.IsNullOrEmpty(tag.SA1019.R托盘码))
                                {
                                    var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new
                                    {
                                        cntrCode = tag.SA1019.R托盘码,
                                        type = 2
                                    }));
                                    var strr = JsonConvert.DeserializeObject<MES2234>(str);
                                    if (strr.success && strr.data.materialCode == task.S_INDEX)
                                    {
                                        task.S_CNTRS = tag.SA2030.R托盘码;
                                        taskservice.Update(task);
                                    }
                                    else
                                    {
                                        LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} 1019 å‡ºå£çš„æ‰˜ç›˜ç‰©æ–™ä¸ç¬¦åˆ");
                                    }
                                }
                                break;
                        }
                    }
                    else
                    {
                        if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC))
                        {
                            //------------------
                        }
                        else if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC))  //1030 æ˜¯ä¸»åŠ¨ç”³è¯·ï¼Œ ä¸ç”¨åˆ¤æ–­ã€‚
                        {
                        }
                    LogHelper.Info($"解释MES任务 ->{task.S_TASK_NO} ç›´æŽ¥ç”Ÿæˆå¯¹åº”任务");
                    //直接生成对应任务。
                    var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS?.Split(',').ToList() ?? new List<string>());
@@ -1648,6 +1710,7 @@
                        taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0;
                        taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true;
                        taskservice.dbcontext.SaveChanges();
                        }
                    }
                }
                else
@@ -2464,6 +2527,18 @@
        public object extra { get; set; }
    }
    class MES2234
    {
        public bool success { get; set; }
        public ML data { get; set; }
    }
    public class ML
    {
        public string materialCode { get; set; }
        public int lineNum { get; set; }
    }
    public class Ddata
    {
        public string reqCode { get; set; }