From b895b34c3288ad887ddc34787136b0f28bc58edc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BF=97=E9=93=AD=20=E5=90=95?= <896951544@qq.com>
Date: Thu, 20 Mar 2025 14:52:35 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E7=94=A8LCS?=
 =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 WcfControlMonitorHost/app.config     |  9 ++++--
 WcfControlMonitorLib/CCallService.cs | 41 ++++++++++++++--------------
 WcfControlMonitorLib/CStaticClass.cs |  2 +-
 3 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/WcfControlMonitorHost/app.config b/WcfControlMonitorHost/app.config
index 7d682a5..4e6f581 100644
--- a/WcfControlMonitorHost/app.config
+++ b/WcfControlMonitorHost/app.config
@@ -103,11 +103,14 @@
     <!--立库到化成B倒箔间任务每个巷道最多两个-->
     <add key="HCBLanewayOutDB" value="2" />
     <!--WMS服务地址1任务状态-->
-    <add key="ManageServiceAddress" value="http://192.168.0.213:18285/api/v1/result" />
+    <add key="ManageServiceAddress" value="http://localhost:5252/lcs/thirdParty/taskStatusReport" />
     <!--WMS服务地址2任务删除-->
-    <add key="ManageServiceAddressTwo" value="http://192.168.0.213:18285/api/v1/cancel" />
+    <add key="ManageServiceAddressTwo" value="http://localhost:5252/lcs/thirdParty/inboundApply" />
     <!--WMS服务地址3设备状态-->
-    <add key="ManageServiceAddressThree" value="http://192.168.0.213:18285/api/v1/state" />
+    <add key="ManageServiceAddressThree" value="http://localhost:5252/lcs/thirdParty/wcsTaskInfo" />
+    <add key="ManageServiceAddressFour" value="http://localhost:5252/api/lcs/thirdParty/requestRescore" />
+    <add key="ManageServiceAddressFive" value="http://localhost:5252/api/lcs/thirdParty/autoMoveOut" />
+    
     <!--调度系统显示的名称-->
     <add key="SystemName" value="WCS服务端" />
     <add key="StockCodeCheck" value="^[B|D|G|P][A-Z][0-9]{4}$" />
diff --git a/WcfControlMonitorLib/CCallService.cs b/WcfControlMonitorLib/CCallService.cs
index 954e860..bd5459a 100644
--- a/WcfControlMonitorLib/CCallService.cs
+++ b/WcfControlMonitorLib/CCallService.cs
@@ -1031,7 +1031,7 @@ namespace WcfControlMonitorLib
         /// <param name="ask_data"></param>
         /// <param name="resp_data"></param>
         /// <returns></returns>
-        public static string UpdateTaskStatusToWMS(int Managertask_Id,out WMS_WCS_PARAM_UPDATE resp_data)
+        public static string UpdateTaskStatusToWMS(int Managertask_Id,int state,out WMS_WCS_PARAM_UPDATE resp_data)
         {
             string bResult = string.Empty;
             bool sResult = true;
@@ -1041,38 +1041,39 @@ namespace WcfControlMonitorLib
             {
                 sql.Clear();
                 DataView data = new DataView();
-                sql.Append(string.Format("select CONTROL_ID,MANAGE_ID,CONTROL_TASK_TYPE,  STOCK_BARCODE, START_WAREHOUSE_CODE,START_DEVICE_CODE, END_WAREHOUSE_CODE, END_DEVICE_CODE, CONTROL_BEGIN_TIME,CONTROL_STATUS,NeedAGV from IO_CONTROL where FMANAGE_ID={0}", Managertask_Id));
+                sql.Append(string.Format("select * from IO_CONTROL where CONTROL_ID={0}", Managertask_Id));
                    data  = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView; 
                 WCS_WMS_PARAM_UPDATE upd = new WCS_WMS_PARAM_UPDATE();//传参解析使用
                 if (data.Count > 0) {
                     upd.taskId = Managertask_Id.ToString();
-                    upd.taskStatus = Convert.ToInt32(data[0]["CONTROL_STATUS"]);
+                    upd.taskStatus = state;
                     if (Convert.ToInt32(data[0]["CONTROL_TASK_TYPE"]) == 1) {
-                        upd.endSpaceCode = data[0]["END_WAREHOUSE_CODE"].ToString();
+                        upd.endSpaceCode = data[0]["END_DEVICE_CODE"].ToString();
                     }
                     else if (Convert.ToInt32(data[0]["CONTROL_TASK_TYPE"]) == 2) {
-                        upd.startSpaceCode = data[0]["START_WAREHOUSE_CODE"].ToString();
+                        upd.startSpaceCode = data[0]["START_DEVICE_CODE"].ToString();
                     }
                     else if (Convert.ToInt32(data[0]["CONTROL_TASK_TYPE"]) == 3) {
-                        upd.startSpaceCode = data[0]["START_WAREHOUSE_CODE"].ToString();
-                        upd.endSpaceCode = data[0]["END_WAREHOUSE_CODE"].ToString();
+                        upd.startSpaceCode = data[0]["START_DEVICE_CODE"].ToString();
+                        upd.endSpaceCode = data[0]["END_DEVICE_CODE"].ToString();
                     }
-                    upd.sendAgv =data[0]["NeedAGV"].ToString();
+                    //upd.sendAgv =data[0]["NeedAGV"].ToString();
                     upd.reportTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                     upd.reportInfo = null;
-                    WMS_WCS_PARAM_UPDATE upd_res = new WMS_WCS_PARAM_UPDATE();//返回值
+                  //  WMS_WCS_PARAM_UPDATE upd_res = new WMS_WCS_PARAM_UPDATE();//返回值
 
                     string data_json_string = Model.JsonHelper.Serializer(upd);
 
                     sResult = Invok_WMS_new(data_json_string, CStaticClass.ManageServiceAddress, out outJson);
-
+                    
                     if (sResult == false)
                     {
+                        resp_data = Model.JsonHelper.Deserialize<WMS_WCS_PARAM_UPDATE>(outJson);
                         bResult = outJson;
                     }
                     else
                     {
-                        upd_res = Model.JsonHelper.Deserialize<WMS_WCS_PARAM_UPDATE>(outJson);//WMS的返回值需要反序列化
+                        resp_data = Model.JsonHelper.Deserialize<WMS_WCS_PARAM_UPDATE>(outJson);//WMS的返回值需要反序列化
 
                     }
                 }
@@ -1382,17 +1383,17 @@ namespace WcfControlMonitorLib
                     //int FControlTaskType = 0;
 
                     sql.Clear();
-                    sql.Append("select * from IO_CONTROL WHERE CONTROL_STATUS < 900 and CONTROL_Status<>0 and IsSendLCS=0 and CONTROL_TASK_TYPE=1");//查询还未发送给WMS但是任务状态已经是拆分完的状态的任务 数据库加一个IsSendLCS字段
+                    sql.Append("select * from IO_CONTROL WHERE CONTROL_STATUS < 900 and CONTROL_Status<>0 and IsSendLCS=0 ");//查询还未发送给WMS但是任务状态已经是拆分完的状态的任务 数据库加一个IsSendLCS字段
                     DataView dataIOtaskstart = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
                     if (dataIOtaskstart.Count > 0) {
                         for (int i = 0; i < dataIOtaskstart.Count; i++)
                         {
-                            CommonClassLib.CCarryConvert.WriteDarkCasket("CallService", "taskStatusReporstart", "准备开始调用wms服务:", $"ID:{dataIOtaskstart[i]["MANAGE_ID"]},条码{dataIOtaskstart[i]["STOCK_BARCODE"]}");
-                            UpdateTaskStatusToWMS(Convert.ToInt16(dataIOtaskstart[i]["MANAGE_ID"]),out WMS_WCS_PARAM_UPDATE resp_data);
+                            CommonClassLib.CCarryConvert.WriteDarkCasket("CallService", "taskStatusReporstart", "准备开始调用wms服务:", $"ID:{dataIOtaskstart[i]["CONTROL_ID"]},条码{dataIOtaskstart[i]["STOCK_BARCODE"]}");
+                            UpdateTaskStatusToWMS(Convert.ToInt16(dataIOtaskstart[i]["CONTROL_ID"]),1,out WMS_WCS_PARAM_UPDATE resp_data);//1任务开始
                             if (resp_data.code == 0)
                             { //成功
                                 sql.Clear();
-                                sql.Append($"update IO_Control set IsSendLCS=1 where MANAGE_ID={dataIOtaskstart[i]["MANAGE_ID"]}");//查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
+                                sql.Append($"update IO_Control set IsSendLCS=1 where CONTROL_ID={dataIOtaskstart[i]["CONTROL_ID"]}");//查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
                                 dbo.ExceSQL(sql.ToString());
                             }
                             else {
@@ -1401,18 +1402,18 @@ namespace WcfControlMonitorLib
                         }
                     }
                     sql.Clear();
-                    sql.Append("select * from IO_CONTROL WHERECONTROL_STATUS = 999 OR CONTROL_STATUS = 900  OR CONTROL_STATUS = 970 and  IsSendLCS=1 and  CONTROL_TASK_TYPE=1");//查询还未发送给WMS但是任务状态已经是完成的状态的任务
+                    sql.Append("select * from IO_CONTROL WHERE CONTROL_STATUS = 999 OR CONTROL_STATUS = 900  OR CONTROL_STATUS = 970 and  IsSendLCS=1 and  CONTROL_TASK_TYPE=1");//查询还未发送给WMS但是任务状态已经是完成的状态的任务
                     DataView dataIOtask2finish = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
                     if (dataIOtask2finish.Count > 0)
                     {
                         for (int i = 0; i < dataIOtask2finish.Count; i++)
                         {
-                            CommonClassLib.CCarryConvert.WriteDarkCasket("CallService", "taskStatusReporfinish", "准备开始调用wms服务:", $"ID:{dataIOtask2finish[i]["MANAGE_ID"]},条码{dataIOtask2finish[i]["STOCK_BARCODE"]}");
-                            UpdateTaskStatusToWMS(Convert.ToInt16(dataIOtask2finish[i]["MANAGE_ID"]), out WMS_WCS_PARAM_UPDATE resp_data);
+                            CommonClassLib.CCarryConvert.WriteDarkCasket("CallService", "taskStatusReporfinish", "准备开始调用wms服务:", $"ID:{dataIOtask2finish[i]["CONTROL_ID"]},条码{dataIOtask2finish[i]["STOCK_BARCODE"]}");
+                            UpdateTaskStatusToWMS(Convert.ToInt16(dataIOtask2finish[i]["CONTROL_ID"]),2, out WMS_WCS_PARAM_UPDATE resp_data);//2任务结束
                             if (resp_data.code == 0)
                             { //成功
                                 sql.Clear();
-                                sql.Append($"delete from IO_CONTROL  where MANAGE_ID={dataIOtask2finish[i]["MANAGE_ID"]}");//查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
+                                sql.Append($"delete from IO_CONTROL  where CONTROL_ID={dataIOtask2finish[i]["CONTROL_ID"]}");//查询还未发送给WMS但是任务状态已经是拆分完的状态的任务
                                 dbo.ExceSQL(sql.ToString());
                             }
                             else {
@@ -1421,7 +1422,7 @@ namespace WcfControlMonitorLib
                         }
                     }
                     sql.Clear();
-                    sql.Append("select * from IO_CONTROL WHERECONTROL_STATUS = 999 OR CONTROL_STATUS = 900  OR CONTROL_STATUS = 970  and  CONTROL_TASK_TYP991");//直接删除回退任务
+                    sql.Append("select * from IO_CONTROL WHERE CONTROL_STATUS = 999 OR CONTROL_STATUS = 900  OR CONTROL_STATUS = 970  and  CONTROL_TASK_TYP991");//直接删除回退任务
                     DataView dataIOBacktaskfinish = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
                     if (dataIOBacktaskfinish.Count > 0)
                     {
diff --git a/WcfControlMonitorLib/CStaticClass.cs b/WcfControlMonitorLib/CStaticClass.cs
index 38b8d67..00f11c0 100644
--- a/WcfControlMonitorLib/CStaticClass.cs
+++ b/WcfControlMonitorLib/CStaticClass.cs
@@ -114,7 +114,7 @@ namespace WcfControlMonitorLib
 
 
         //20091107
-        static string _ManageServiceAddress = "http://localhost:525/lcs/thirdParty/taskStatusReport";//WCS ����ִ�й��̣�������ִ�е�״̬�ش��� LCS ϵͳ��
+        static string _ManageServiceAddress = "http://localhost:5252/lcs/thirdParty/taskStatusReport";//WCS ����ִ�й��̣�������ִ�е�״̬�ش��� LCS ϵͳ��
         static string _ManageServiceAddress2 = "http://localhost:5252/lcs/thirdParty/inboundApply";//��������ҵ��Ҫ�����ⲿɨ���豸���������λ��У���Ƿ������ʱ��WCS ͨ���� �ӿ��� LCS ���롣
         static string _ManageServiceAddress3 = "http://localhost:5252/lcs/thirdParty/wcsTaskInfo";//WCS ֪ͨ LCS ���� AGV ȡ��
         static string _ManageServiceAddress4 = "http://localhost:5252/api/lcs/thirdParty/requestRescore";//WCS ͨ���ýӿ����� LCS ��Ŀ���λ�������·��䡣