From 553f7744bedee0685635ed070a4a0e18b796238f Mon Sep 17 00:00:00 2001
From: lss <2538410689@qq.com>
Date: 星期四, 24 七月 2025 17:30:36 +0800
Subject: [PATCH] 1111

---
 HH.WCS.Mobox3 - 大车间/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs |  232 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 155 insertions(+), 77 deletions(-)

diff --git "a/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs" "b/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs"
index 63b788d..d32e7ee 100644
--- "a/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs"
+++ "b/HH.WCS.Mobox3 - \345\244\247\350\275\246\351\227\264/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs"
@@ -1,11 +1,11 @@
-锘縰sing HH.WCS.JiaTong.api;
-using HH.WCS.JiaTong.core;
-using HH.WCS.JiaTong.device;
-using HH.WCS.JiaTong.dispatch;
-using HH.WCS.JiaTong.LISTA.models;
-using HH.WCS.JiaTong.LISTA.process;
-using HH.WCS.JiaTong.util;
-using HH.WCS.JiaTong.wms;
+锘縰sing HH.WCS.JiaTong_DCJ.api;
+using HH.WCS.JiaTong_DCJ.core;
+using HH.WCS.JiaTong_DCJ.device;
+using HH.WCS.JiaTong_DCJ.dispatch;
+using HH.WCS.JiaTong_DCJ.LISTA.models;
+using HH.WCS.JiaTong_DCJ.LISTA.process;
+using HH.WCS.JiaTong_DCJ.util;
+using HH.WCS.JiaTong_DCJ.wms;
 using Microsoft.Owin.BuilderProperties;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
@@ -19,10 +19,11 @@
 using System.Security.Cryptography;
 using System.Threading;
 using System.Threading.Tasks;
-using static HH.WCS.JiaTong.api.ApiModel;
-using static HH.WCS.JiaTong.LISTA.process.HttpModel;
+using static HH.WCS.JiaTong_DCJ.api.ApiModel;
+using static HH.WCS.JiaTong_DCJ.LISTA.process.HttpModel;
+using static System.Collections.Specialized.BitVector32;
 
-namespace HH.WCS.JiaTong.process
+namespace HH.WCS.JiaTong_DCJ.process
 {
     internal class TaskProcess
     {
@@ -116,52 +117,89 @@
 
                 if (TN_Task != null)
                 {
-                    int type = 0;
+                    //璇锋眰鍙栬揣锛�              
+
+                    int type = 1;
                     string loc = "";
                     if (model.state == 1101)
                     {
-
-                        //璇锋眰鍙栬揣锛�              
+                        type = 1;
                         loc = TN_Task.S_START_LOC;
+                        if (name == "Mes")
+                        {
+                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                            {
+                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            }
 
-                        if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
-                        {
-                            NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                         }
-                    }
-                    if (model.state == 1102)
-                    {
-                        type = 3;
-                        if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰
+                        else
                         {
-                            loc = TN_Task.S_START_LOC;
                             if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
                             {
-                               // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                             }
                         }
 
                     }
+                    if (model.state == 1102)
+                    {
+                        type = 1;
+                        loc = TN_Task.S_START_LOC;
+                        if (name == "Mes")
+                        {
+                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                            {
+                                // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            }
+                        }
+                        else
+                        {
+                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                            {
+                                // NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            }
+                        }
+                    }
                     if (model.state == 1103)
                     {
                         //璇锋眰鍗歌揣
-
+                        type = 2;
                         loc = TN_Task.S_END_LOC;
-
-                        if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                        if (name == "Mes")
                         {
-                            NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                            {
+                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            }
                         }
-
+                        else
+                        {
+                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                            {
+                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            }
+                        }
                     }
                     if (model.state == 1104)
                     {
-
+                        type = 2;
                         loc = TN_Task.S_END_LOC;
-                        if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                        if (name == "Mes")
                         {
-                            //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            if (OperateReqByPostMes(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                            {
+                                //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            }
                         }
+                        else
+                        {
+                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state, name))
+                            {
+                                //NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                            }
+                        }
+                                        
                     }
                 }
 
@@ -189,9 +227,12 @@
             bool permit = false;
             try
             {
-                //RequestList<TaskAccess> requestList = new RequestList<TaskAccess>();
+                LogHelper.Info($"寮�绔嬪簱瀹夊叏璇锋眰");
+                Request<TaskAccess> request = new Request<TaskAccess>();
+                var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
+               
                 TaskAccess taskAccess = new TaskAccess() { taskNum = tasknum, orderNum = ordernum, station = station, type = type, taskStatus = taskStatus };
-                // requestList.data.Add(taskAccess);
+                request.data = taskAccess;
                 HttpHelper httpHelper = new HttpHelper();
                 Result result = new Result();
                 string date = JsonConvert.SerializeObject(taskAccess);
@@ -220,7 +261,63 @@
 
 
         }
-  
+        /// <summary>
+        /// MES瀹夊叏浜や簰
+        /// </summary>
+        /// <param name="url"></param>
+        /// <param name="tasknum"></param>
+        /// <param name="ordernum"></param>
+        /// <param name="station"></param>
+        /// <param name="type"></param>
+        /// <param name="taskStatus"></param>
+        public static bool OperateReqByPostMes(string url, string tasknum, string ordernum, string station, int type, int taskStatus, string name)
+        {
+            bool permit = false;
+            try
+            {
+                LogHelper.Info($"寮�mes瀹夊叏璇锋眰");
+                Request<MesTaskAccess> request = new Request<MesTaskAccess>();
+                var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
+                request.RequestId = "鏉弶AGV" + time;
+
+                StatusArrive statusArrive = new StatusArrive();
+                request.UseToken = "iFQ5fExGrLYLXliHYWzs";
+                MesTaskAccess taskAccess = new MesTaskAccess() { taskNumber = tasknum, status = station };
+                request.data = taskAccess;
+                HttpHelper httpHelper = new HttpHelper();
+                MesResult<MesStatus> result = new MesResult<MesStatus>();
+                string date = JsonConvert.SerializeObject(request);
+                // string url = Settings.tableUrls.Find(a => a.id == 2).url;
+                LogHelper.Info($"瀹夊叏璇锋眰锛氬湴鍧�{url}锛屽唴瀹癸細{date}");
+                var r = httpHelper.MesWebPost(url, date);
+                result = JsonConvert.DeserializeObject<MesResult<MesStatus>>(r);
+                if (result.icode == "200")
+                {
+                    LogHelper.Info($"鎺ュ彛璇锋眰鎴愬姛");
+                    if (result.idata.status == "0")
+                    {
+                        LogHelper.Info($"瀹夊叏浜や簰鎴愬姛");
+                        permit = true;
+                    }
+
+                }
+                else
+                {
+                    LogHelper.Info($"瀹夊叏璇锋眰澶辫触=>msg:{result.imsg}");
+                    ApiHelper.AddErrorInfo("瀹夊叏浜や簰澶辫触", result.imsg, "", tasknum);
+                }
+                ApiHelper.AddInfo(name, "瀹夊叏璇锋眰", date, JsonConvert.SerializeObject(result), "Post", url);
+                return permit;
+            }
+            catch (Exception)
+            {
+
+                return permit;
+            }
+
+
+        }
+
         /// <summary>
         /// 浠诲姟鎷︽埅
         /// </summary>
@@ -238,8 +335,8 @@
                 return false;
             }
 
-           
-          
+
+
             return result;
         }
 
@@ -584,53 +681,34 @@
             try
             {
                 //鍥炴姤鏁版嵁鑾峰彇
-                Request<StatusArrive> statusarrive = new Request<StatusArrive>();
+              //  Request<StatusArrive> statusarrive = new Request<StatusArrive>();
                 //鑾峰彇鏃堕棿鎴�+               
+                Request<MesTaskAccess> request = new Request<MesTaskAccess>();
                 var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
-                statusarrive.RequestId = "鏉弶AGV" + time;
-                string info = "";
-                switch (status)
-                {
-                    case 1:
-                        info = "agv宸叉帴鍙楀師鏂欏簱涓嬪彂鐨勪换鍔�;
-                        break;
-                    case 4:
-                        info = "agv宸插彇璐у畬鎴�;
-                        break;
-                    case 6:
-                        info = "agv宸插嵏璐у埌鎸囧畾浣嶇疆";
-                        break;
-                    case 2:
-                        info = "agv宸插畬鎴愰�鏂欎换鍔�;
-                        break;
-                }
-                string message = "1";
-                if (status == 7) { message = "agv浠诲姟宸插彇娑�; }
-                int flag = 0;
-                if (mst.S_NOTE == "绮夋枡")
-                {
-                    flag = 1;
-                }
-                //List<StatusArrive> statusArrives = new List<StatusArrive>();
+                request.RequestId = "鏉弶AGV" + time;
+
                 StatusArrive statusArrive = new StatusArrive();
-                statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs";
-                statusArrive.TaskNumber = mst.S_EQ_NO;
-                statusArrive.LocationNum = mst.S_END_LOC;
-                statusArrive.ArricalTime = DateTime.Now.ToString();
-                statusArrive.Status = status.ToString();
-                statusArrive.Rfid = mst.S_CNTR_CODE;
-                var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault();
-                if (cntritem!=null)
-                {
-                    statusArrive.PartNumber = cntritem.S_ITEM_CODE;
-                    statusArrive.PartDesc = cntritem.S_ITEM_NAME;
-                }
+                request.UseToken = "iFQ5fExGrLYLXliHYWzs";
+                MesTaskAccess taskAccess = new MesTaskAccess() { taskNumber = mst.S_EQ_NO, status = status.ToString() };
+                request.data = taskAccess;
+                //statusArrive.TaskNumber = mst.S_EQ_NO;
+                //statusArrive.LocationNum = mst.S_END_LOC;
+                //statusArrive.ArricalTime = DateTime.Now.ToString();
+                //statusArrive.Status = status.ToString();
+                //statusArrive.Rfid = mst.S_CNTR_CODE;
+                //var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault();
+                //if (cntritem != null)
+                //{
+                //    statusArrive.PartNumber = cntritem.S_ITEM_CODE;
+                //    statusArrive.PartDesc = cntritem.S_ITEM_NAME;
+                //}
                 //statusArrives.Add(statusArrive);
-                statusarrive.data = statusArrive;
+
                 //寮�鍥炴姤
                 HttpHelper httpHelper = new HttpHelper();
                 MesResult result = new MesResult();
-                string date = JsonConvert.SerializeObject(statusarrive);
+                string date = JsonConvert.SerializeObject(request);
 
                 LogHelper.Info($"浠诲姟鍥炴姤锛氬湴鍧�{url}锛屽唴瀹癸細{date}");
                 var r = httpHelper.MesWebPost(url, date);

--
Gitblit v1.9.1