From fe442ab8c9ba6648b140f253902b4ef24c5618bf Mon Sep 17 00:00:00 2001
From: lss <Lss@HanInfo>
Date: 星期二, 20 五月 2025 18:26:31 +0800
Subject: [PATCH] 合肥佳通变更

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs |  124 +++++++++++++++++++++++++++--------------
 1 files changed, 82 insertions(+), 42 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
index df349b2..309042a 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs
@@ -1,5 +1,6 @@
 锘縰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.process;
 using HH.WCS.JiaTong.util;
@@ -12,6 +13,7 @@
 using System.IdentityModel.Protocols.WSTrust;
 using System.Linq;
 using System.Security.Cryptography;
+using static HH.WCS.JiaTong.api.ApiModel;
 using static HH.WCS.JiaTong.LISTA.process.HttpModel;
 
 namespace HH.WCS.JiaTong.process
@@ -71,27 +73,26 @@
         /// <summary>
         /// 瀹夊叏璇锋眰
         /// </summary>
-        /// <param name="no"></param>
-        /// <param name="state"></param>
-        /// <param name="forkliftNo"></param>
-        /// <param name="extData"></param>
-        internal static void OperateReq(string no, int state, string url, string forkliftNo, string extData, int Z_type)
+        /// <param name="model"></param>
+        /// <param name="url"></param>
+        /// <param name="wcs"></param>
+        internal static void OperateReq(AgvTaskState model, string url, WCSTask TN_Task)
         {
             try
             {
                 LogHelper.Info($"-------寮�瀹夊叏璇锋眰------");
-                var TN_Task = WCSHelper.GetTask(no);
+
                 if (TN_Task != null)
                 {
                     int type = 0;
                     string loc = "";
-                    if (state == 1101)
+                    if (model.state == 1101)
                     {
 
                         //璇锋眰鍙栬揣锛�                         type = 1;
                         loc = TN_Task.S_START_LOC;
-                        if (Z_type == 4)
+                        if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰
                         {
                             if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type))
                             {
@@ -101,19 +102,44 @@
                         }
                         else
                         {
-                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, state))
+                            //浜曟澗鍙犵洏鏈哄畨鍏ㄤ氦浜�+                            if ( TN_Task.S_NOTE == "绌烘墭鍥炲簱")
                             {
-                                // NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18);
-                                NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                                if (S7Helper.WriteDpj(1002, 1))
+                                {
+                                    int value = S7Helper.ReadDpj(2004, S7.Net.VarType.Byte);
+                                    if (value == 1)
+                                    {
+                                        NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝璇诲彇VB2004鐨勫�涓簕2004}");
+                                    }
+                                }
+                                else
+                                {
+                                    LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鍐欏叆VB1002鍊�澶辫触");
+                                }
+
                             }
+                            else
+                            {
+                                if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state))
+                                {
+                                    // NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18);
+                                    NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
+                                }
+                            }
+
                         }
 
 
                     }
-                    if (state == 1102)
+                    if (model.state == 1102)
                     {
                         type = 3;
-                        if (Z_type == 4)
+                        if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰
                         {
                             loc = TN_Task.S_START_LOC;
                             if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type))
@@ -121,13 +147,18 @@
                                 //NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18);
                             }
                         }
+                        if (TN_Task.Z_TYPE == 2 && TN_Task.S_NOTE == "绌烘墭鍥炲簱")
+                        {
+                            S7Helper.WriteDpj(1001, 1);
+                            S7Helper.WriteDpj(1002, 0);
+                        }
                     }
-                    if (state == 1103)
+                    if (model.state == 1103)
                     {
                         //璇锋眰鍗歌揣
                         type = 2;
                         loc = TN_Task.S_END_LOC;
-                        if (Z_type == 4)
+                        if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰
                         {
                             loc = TN_Task.S_END_LOC;
                             if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type))
@@ -138,18 +169,16 @@
                         }
                         else
                         {
-                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, state))
+                            if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state))
                             {
                                 NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1");
                             }
                         }
-
-
                     }
-                    if (state == 1104)
+                    if (model.state == 1104)
                     {
                         type = 4;
-                        if (Z_type == 4)
+                        if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰
                         {
                             loc = TN_Task.S_END_LOC;
                             if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type))
@@ -159,10 +188,7 @@
                         }
                     }
                 }
-                else
-                {
-                    LogHelper.Info($"瀹夊叏璇锋眰==銆嬫牴鎹换鍔″彿{no}鏈壘鍒板搴斾换鍔�);
-                }
+
             }
             catch (Exception ex)
             {
@@ -206,6 +232,7 @@
                 else
                 {
                     LogHelper.Info($"瀹夊叏璇锋眰澶辫触=>msg:{result.msg}");
+                    ApiHelper.AddErrorInfo("瀹夊叏浜や簰澶辫触", result.msg, "", tasknum);
                 }
                 return permit;
             }
@@ -255,6 +282,7 @@
                 else
                 {
                     LogHelper.Info($"瀹夊叏璇锋眰澶辫触=>msg:{result.err_msg}");
+                    ApiHelper.AddErrorInfo("瀹夊叏浜や簰澶辫触", result.err_msg, "", no);
                 }
                 return permit;
             }
@@ -789,9 +817,8 @@
         /// <summary>
         /// mes鐗╂枡鍒颁綅鍚屾
         /// </summary>
-        /// <param name="taskNum"></param>
-        /// <param name="orderNum"></param>
-        /// <param name="taskStatus"></param>
+        /// <param name="mst">浠诲姟</param>
+        /// <param name="url">鍦板潃</param>
         public static void MESIteminfoback(WCSTask mst, string url)
         {
             LogHelper.Info($"------------寮�鐗╂枡淇℃伅鍥炴姤-----------");
@@ -799,8 +826,8 @@
             {
                 var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault();
                 //鍥炴姤鏁版嵁
-                Request<iteminfoArrive> statusarrive = new Request<iteminfoArrive>();
-                List<LotListh> lotLists = new List<LotListh>();
+                Request<MesItemBackModel> request = new Request<MesItemBackModel>();
+                List<MesItemBackInfoModel> list = new List<MesItemBackInfoModel>();
                 string TaskNumber = mst.S_EQ_NO;
                 if (!string.IsNullOrEmpty(mst.S_WMS_NO))
                 {
@@ -809,27 +836,38 @@
                 //鑾峰彇鏃堕棿鎴�                 var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                 //鐗╂枡鍒颁綅鎺ュ彛鍜岀姸鎬佸弽棣堝悓鏃惰皟IIOT锛屼负浜嗗尯鍒唅d锛岀墿鏂欏埌浣嶉暱搴﹀姞涓�尯鍒�-                statusarrive.RequestId = "鏉弶AGV" + time + "1";
-                statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs";
+                request.RequestId = "鏉弶AGV" + time + "1";
+                request.UseToken = "iFQ5fExGrLYLXliHYWzs";
 
-                iteminfoArrive iteminfoArrive = new iteminfoArrive();
-                iteminfoArrive.TaskNumber = TaskNumber;
-                iteminfoArrive.LocationNum = mst.S_END_LOC;
-                iteminfoArrive.Rfid = mst.S_CNTR_CODE;
-                iteminfoArrive.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd");
+                MesItemBackModel mesItemBackModel = new MesItemBackModel();
+                mesItemBackModel.TaskNumber = mst.S_EQ_NO;
+                mesItemBackModel.WmsTaskNumber = mst.S_WMS_NO;
+                mesItemBackModel.LocationNum = mst.S_END_LOC;
+                mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd");
                 if (cntritem != null)
                 {
-                    lotLists.Add(new LotListh() { LotNumber = cntritem.S_BATCH_NO, Weight = double.Parse(cntritem.F_WEIGHT) });
-                    iteminfoArrive.PartDesc = cntritem.S_ITEM_NAME;
-                    iteminfoArrive.PartNumber = cntritem.S_ITEM_CODE;
+                    list.Add(new MesItemBackInfoModel()
+                    {
+                        LotNumber = cntritem.S_BATCH_NO,
+                        PartNumber = cntritem.S_ITEM_NAME,
+                        Subpool = cntritem.Subpool,
+                        ReceiveLot = cntritem.ReceiveLot,
+                        Supplier = cntritem.S_SUPPLIER_NO,
+                        TyreType = cntritem.TyreType,
+                        ProduceTime = cntritem.D_PRD_DATE,
+                        Rfid = cntritem.S_CNTR_CODE,
+                        Qty = cntritem.F_WEIGHT
+                    });
+
 
                 }
-                iteminfoArrive.LotList = lotLists;
-                statusarrive.data = iteminfoArrive;
+                mesItemBackModel.List = list;
+                request.data = mesItemBackModel;
+
                 //浠诲姟涓婃姤
                 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);
@@ -851,6 +889,8 @@
             }
 
         }
+
+
         /// <summary>
         /// 鍒涘缓鎼繍浠诲姟
         /// </summary>

--
Gitblit v1.9.1